package com.wangshouyu.mp.utils;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.Reader;
import java.lang.reflect.Type;

/**
 * @author 王守钰
 * @date 2021年03月15日 17:18
 * @description
 */
public class GsonUtils {

    private static Gson GSON = new GsonBuilder()
            .disableHtmlEscaping()
            .create();

    /**
     * 转换json
     * @param src 来源
     * @return json值
     */
    public static String toJson(Object src){
        return GSON.toJson(src);
    }

    /**
     * 转换json
     * @param json json串
     * @param typeOfT 类型
     * @param <T> 对象
     * @return 对象
     */
    public static <T> T fromJson(Reader json, Type typeOfT){
        return GSON.fromJson(json, typeOfT);
    }

    /**
     * 转换json
     * @param json json串
     * @param classOfT 类型
     * @param <T> 对象
     * @return 对象
     */
    public static <T> T fromJson(String json, Class<T> classOfT) {
        return GSON.fromJson(json, classOfT);
    }
}
